package com.ahtcm.tcmlearning.service;

import com.ahtcm.tcmlearning.dataObject.brushProblem.QuestionToShow;
import com.ahtcm.tcmlearning.dataObject.brushProblem.RateOfLearning;
import com.ahtcm.tcmlearning.dataObject.brushProblem.SubjectChapterParent;
import com.ahtcm.tcmlearning.model.Question;

import java.util.List;

/**
 * @descriptionn 刷题模块接口
 * @author yangrongdeng
 * @date 2019.01.06
 */
public interface BrushProblemService {
    /**
     * @description 按学科返回章节内容列表
     * @author yangrongdeng
     * @param subjectId
     * @return
     */
    List<SubjectChapterParent> subjectChapterList(Integer subjectId);

    /**
     * @description 相应类目从题目表中获得题目
     * @author yangrongdeng
     * @param userId
     * @param categoryId
     * @return
     */
    List<QuestionToShow>  findQuestionByCategory(Integer userId, Integer categoryId);
    /**
     * @description 将用户做题结果添加用户的做题记录表中
     * @author yangrongdeng
     * @param questionType 0章节刷题功能模块用户添加的做题记录, 1, "记忆斩中药模块添加的种类记录"  2, "记忆斩方剂模块添加的种类记录" 3, "记忆斩针灸学模块添加的种类记录"
     *      *                                      4, "记忆斩药鉴定模块添加的种类记录" 5, "记忆斩病理学模块添加的种类记录"
     * @param userId 用户ID
     * @param categoryId 题目内容的类别id
     * @param questionId 问题的id
     * @param isRight 是否正确
     */
    void addQuestionRecord(Integer questionType, Integer userId, Integer categoryId, Integer questionId, Integer isRight);
    /**
     * @description 收藏题目
     * @author yangrongdeng
     * @param targetId       要收藏的目标id
     * @param userId         用户id
     * @param collectionType 收藏的类型,2为题目，0为药材,1为方剂
     * @param dicId          所属类型，如:某题目属于麻黄汤
     */
    void collectionQuestion(Integer targetId, Integer userId, Integer collectionType, Integer dicId);
//    /**
//     * @description 获得记忆斩某模块的学习进度
//     * @param functionType
//     * @param userId
//     * @return
//     */
//    RateOfLearning getRateOfLearning(Integer functionType, Integer userId);

//    Object getKnowledgePointDetail(Integer functionType, Integer userId);
}